package com.atguigu.lease.web.admin.mapper;

import com.atguigu.lease.model.entity.ApartmentInfo;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentDetailVo;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentItemVo;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentQueryVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Parameter;
import org.apache.ibatis.annotations.Param;

/**
* @author liubo
* @description 针对表【apartment_info(公寓信息表)】的数据库操作Mapper
* @createDate 2023-07-24 15:48:00
* @Entity com.atguigu.lease.model.ApartmentInfo
*/
public interface ApartmentInfoMapper extends BaseMapper<ApartmentInfo> {

    //当中方法有多个简单类型参数时，@Param 是 MyBatis 框架中用于标注方法参数名称的注解，
    // 主要作用是在 Mapper 接口方法与 XML 映射文件之间建立参数名称绑定，解决多参数传递时的匹配问题。
    //不然就是 param1, param2 arg0, arg1
    Page<ApartmentInfo> customSelectPage(Page<ApartmentItemVo> page,@Param("queryVo") ApartmentQueryVo queryVo);

    ApartmentDetailVo customSelectById(Long id);
}




